package com.chhuang.common;

import java.util.Collection;
import java.util.Map;

/**
 * 判断对象非空与否工具类
 * @author 黄晨
 * @date 2013-4-2
 *
 */
public class Assert extends org.springframework.util.Assert{

	/**
	 * 判断对象数组是否非空
	 * @param objCollect
	 * @return
	 */
    public static boolean isValidArray(Object[] objCollect) {

        return null != objCollect && objCollect.length > 0;
    }

    /**
     * 判断对象数组是否为空
     * @param objCollect
     * @return
     */
    public static boolean isInvalidArray(Object[] objCollect) {
        return !Assert.isValidArray(objCollect);
    }

    /**
     * 判断字符串是否非空
     * @param string
     * @return
     */
    public static boolean isValidString(String string) {
        return null != string && string.trim().length() > 0;
    }

    /**
     * 判断字符串是否为空
     * @param string
     * @return
     */
    public static boolean isInvalidString(String string) {
        return !Assert.isValidString(string);
    }

    /**
     * 判断集合是否非空
     * @param collection
     * @return
     */
    public static boolean isValidCollection(Collection<?> collection) {

        return null != collection && collection.size() > 0;
    }

    /**
     * 判断集合是否为空
     * @param collection
     * @return
     */
    public static boolean isInvalidCollection(Collection<?> collection) {
        return !isValidCollection(collection);
    }
    
    /**
     * 判断图是否非空
     * @param collection
     * @return
     */
    public static boolean isValidMap(Map<?,?> map) {

        return null != map && !map.isEmpty();
    }

    /**
     * 判断图是否为空
     * @param collection
     * @return
     */
    public static boolean isInvalidMap(Map<?,?> map) {
        return !isValidMap(map);
    }
    
    /**
     * @param obj
     *            target object
     * @param msg
     *            error message
     */
    public static void hasLength(Object[] obj, String msg) {
        if (obj.length == 0) {
            throw new IllegalArgumentException(msg);
        }
    }
}
